package com.luoqy.speedy.util;

import com.luoqy.speedy.data.DataBase;
import com.luoqy.speedy.data.MySql;
/**
 *  抛出异常信息记录
 * */
public class AllException {
	/**
	 * 记录异常信息
	 * @param e  异常
	 */
	public static void recordException(Exception e){
		try {
			//错误描述
			String errordesc=e.toString();
			//错误类路径
			String className = Thread.currentThread().getStackTrace()[2].getClassName();//调用的类名
			//错误类名
			String[] classNameList=className.split("\\.");
			String files=classNameList[classNameList.length-1];
			//错误行数
			StackTraceElement[] stackTraceElement= e.getStackTrace();
			int lineNumber=0;
			for (StackTraceElement ste : stackTraceElement) {
				if(ste.getClassName().contains(files)){
					lineNumber=ste.getLineNumber();
					break;
				}
			}
			//错误方法名
			String methodNames = Thread.currentThread().getStackTrace()[2].getMethodName();//调用的方法名
			String sqlStr="insert into speedy_errorlog set errordesc='"+errordesc+"',methods='"+className+"."+methodNames+"',files='"+files+"',line='"+lineNumber+"',detail='"+e.getStackTrace()+"'";
			MySql.EXECUTE(sqlStr,new DataBase());
		} catch (Exception e2) {
			// TODO: handle exception
			//这里如果再抛出错误，一定是数据库没有进行配置
			e2.printStackTrace();
		}
	}
}
